Many businesses employ large-scale data processing systems. FIG. 1 illustrates relevant components of an exemplary large-scale data processing system 10. More particularly, FIG. 1 shows large-scale data processing system 10 having a host computer system 12, a transaction log memory 14, a primary data storage system 16, and a secondary data storage system 18. Primary and secondary data storage systems 16 and 18 include data memories 22 and 24, respectively.
Data memories 22 and 24 store data. More particularly, data memories 22 and 24 store primary and backup data volumes, respectively. The primary data volume is the working volume of large-scale data processing system 10, while the backup data volume is a point-in-time (PIT) copy of the primary data volume. In other words, the backup data volume contains a copy of the primary data volume created at a point in time, the use of which will be more fully described below.
Host computer system 12 accesses data of the primary data volume in response to receiving and processing data transactions or instructions. More particularly, host computer system 12 reads data from, writes data to, or modifies data of the primary data volume in data memory 22 in response to receiving and processing data transactions. Host computer system 12 typically receives data transactions that are generated by software applications executing on computer systems (not shown) coupled to the host computer system 12. Host computer system 12 may also receive data transactions from operators, via an interface (not shown). For purposes of explanation, the operational aspects of large-scale data processing system 10 will be described with respect to host computer system 12 receiving data transactions solely from software applications executing on computer systems. As will be more fully described below, a copy of each transaction that writes to or modifies data of the primary data volume is stored in transaction log memory 14.
Host computer 12 creates a backup volume in data memory 24 to safeguard against data corruption of the primary data volume. Host computer system 12 may also create the backup volume to safeguard against a physical failure of primary data storage system 16 that prevents host computer system 12 access thereto. Host computer system 12 creates the backup data volume in data memory 24 each time host computer system 12 issues a backup command. Creating a backup of the primary data volume is a procedure well known in the art. In essence, the procedure includes host computer system 12 copying data from each block of data memory 22 to a corresponding block of data memory 24 until the entire data content of the primary volume is replicated in data memory 24. For each backup operation after the initial backup, only those blocks of memory 22 which have changed since the previous backup need to be to data memory 24; pointers to unmodified data blocks of memory 22 may be stored. In addition, differences between a data block and its version in the previous backup may be computed so that only the changes to the data block of memory 22 need to be written to memory 24, and almost all data written to memory 24 can be compressed using a lossless compression algorithm to decrease the time needed to successfully complete the backup operation. Host computer 12 typically clears all data transactions stored in transaction log memory 14 each time the primary data volume of data memory 22 is successfully backed up into data memory 24. Accordingly, transaction log memory 14 typically contains only those data transactions received by host computer system 12 after each successful backup of the primary data volume.
Occasionally, host computer system 12 unwittingly receives and executes an invalid or erroneous data transaction. Execution of an invalid or erroneous data transaction results in corruption of data in the primary data volume. When the data corruption is discovered, host computer system 12 can use the backup data volume in data memory 24 to restore the primary data volume to the state it occupied just before data was corrupted. Host computer system 12 will not process data transactions until the primary data volume in data memory 22 is restored. This disrupts operations of businesses using large-scale data processing system 10. Accordingly, it is imperative to restore the primary data volume as soon as possible.
In the restore procedure, host computer system 12 creates a copy of the backup data volume in a third memory (not shown) of a third data storage system (not shown). More particularly, host computer system 12 copies the contents of each block of data memory 24 to a corresponding block in the third memory until the entire contents of the backup volume is replicated in the third memory. The time needed to create the copy of the backup volume in the third memory may be considerable depending on the size of the backup volume.
Once created, host computer system 12 modifies the contents of the backup volume copy by re-executing all transactions held in transaction log memory 14 up to but not including the invalid transaction that caused the data corruption in the primary data volume. After host computer system 12 finishes modifying the copy of the backup, the copy should be identical to the primary volume at the point in time just before host computer system 12 executed the invalid transaction. Host computer system 12 completes the restore process by overwriting each block of data memory 22 with the contents of its corresponding block in the third memory. Overwriting blocks of data memory 22 during the restore process may require a substantial amount of time depending on the size of the modified backup volume copy. Once the primary volume is fully restored, host computer system 12 can resume reading, writing, or modifying data to the primary data volume in accordance with data transactions received after the invalid transaction.
Businesses using large-scale data processing systems such as system 10 seek to restore a corrupted primary data volume as soon as possible in order to resume data transaction processing. Unfortunately, substantial time may be needed during the restore process to copy the entire contents of the backup copy and to overwrite the corrupted primary volume with the contents of the modified backup volume copy.